<a (click)="edit()">
  <i nz-icon nzType="plus"></i>
  添加
</a>

<nz-row [nzGutter]="[8,8]" cdkDropList (cdkDropListDropped)="drop($event)">
  <div nz-col [nzSpan]="12" [nzXs]="24" [nzSm]="12" [nzMd]="12" [nzLg]="8" [nzXl]="6" [nzXXl]="4"
       *ngFor="let data of items; let i=index" cdkDrag>
    <nz-card nzSize="small" nzHoverable
             [nzTitle]="data.code + data.address" [nzExtra]="extraTemplate" (click)="edit(data)">
      <p>
        地址：{{data.code}}{{data.address}}，长度：{{data.length}}
      </p>
      <p>
        类型：{{data.type}}，
        <span *ngIf="data.type=='interval'">{{data.interval}}ms</span>
        <span *ngIf="data.type=='clock'">{{data.clock | minuteFormat }}</span>
        <span *ngIf="data.type=='crontab'">{{data.crontab}}</span>
        <span *ngIf="data.disabled">禁用</span>
      </p>
    </nz-card>
    <ng-template #extraTemplate>
      <a title="移动" cdkDragHandle>
        <i nz-icon nzType="drag" nzTheme="outline"></i>
      </a>
      <nz-divider nzType="vertical"></nz-divider>
      <a title="复制" (click)="copy(i); $event.stopPropagation()">
        <i nz-icon nzType="copy" nzTheme="outline"></i>
      </a>
      <nz-divider nzType="vertical"></nz-divider>
      <a title="删除" nz-popconfirm nzPopconfirmTitle="确定删除?" (nzOnConfirm)="remove(i)" (click)="$event.stopPropagation()">
        <i nz-icon nzType="delete" nzTheme="outline"></i>
      </a>
    </ng-template>
  </div>
</nz-row>

<nz-modal [(nzVisible)]="showModal" nzTitle="编辑轮询器" (nzOnOk)="onOk()" (nzOnCancel)="showModal=false">
  <ng-container *nzModalContent>
    <form [formGroup]="formGroup">

      <nz-form-item>
        <nz-form-label [nzSpan]="5">间隔（ms）</nz-form-label>
        <nz-form-control [nzSpan]="12" nzErrorTip="">
          <nz-input-number formControlName="interval" [nzStep]="1" nzSize="small"></nz-input-number>
        </nz-form-control>
      </nz-form-item>

      <nz-form-item>
        <nz-form-label [nzSpan]="5">代码</nz-form-label>
        <nz-form-control [nzSpan]="12" nzErrorTip="">
          <nz-select formControlName="code" nzSize="small" required>
            <nz-option [nzValue]="code.name" [nzLabel]="code.name + ' ' + code.label" *ngFor="let code of codes"></nz-option>
          </nz-select>
        </nz-form-control>
      </nz-form-item>

      <nz-form-item>
        <nz-form-label [nzSpan]="5">地址</nz-form-label>
        <nz-form-control [nzSpan]="12" nzErrorTip="">
          <input nz-input formControlName="address" nzSize="small"/>
        </nz-form-control>
      </nz-form-item>

      <nz-form-item>
        <nz-form-label [nzSpan]="5">长度</nz-form-label>
        <nz-form-control [nzSpan]="12" nzErrorTip="">
<!--          <input nz-input formControlName="length" nzSize="small"/>-->
          <nz-input-number formControlName="length" nzSize="small"></nz-input-number>
        </nz-form-control>
      </nz-form-item>

      <nz-form-item>
        <nz-form-label [nzSpan]="5">禁用</nz-form-label>
        <nz-form-control [nzSpan]="12" nzErrorTip="">
          <nz-switch formControlName="disabled" nzSize="small"></nz-switch>
        </nz-form-control>
      </nz-form-item>

    </form>
  </ng-container>
</nz-modal>
